/*
 * Powered By xTOOLs
 * Dev by tao.li8@pactera.com
 * Copyright ©2009-2018 pactera.com All rights reserved.
 * Generated at 2020-7-6 18:45:59
 */

package com.pactera.jep.service.yapin.coll.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.pactera.jep.entity.PO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.Length;

import javax.persistence.*;
import javax.validation.constraints.Digits;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 押品价值信息实体类
 * @Author YourName
 * @Date 2020-7-6 18:45:59
 */
@ApiModel(value = "ValueInfo" , description = "押品价值信息")
@Entity
@Table(name = "bs_col_valueinfo")
public class ValueInfo implements PO {

    @ApiModelProperty("评估价值ID")
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Length(max = 36, message = "评估价值ID长度最多36位")
    @Column(name = "VALUEINFO_ID")
    private String valueinfoId;

    @ApiModelProperty("押品ID")
    @Length(max = 36, message = "押品ID长度最多36位")
    @Column(name = "CLT_ID")
    private String cltId;

    @ApiModelProperty("押品编号")
    @Length(max = 40, message = "押品编号长度最多40位")
    @Column(name = "CLT_NO")
    private String cltNo;

    @ApiModelProperty("外部评估机构名称")
    @Length(max = 100, message = "外部评估机构名称长度最多100位")
    @Column(name = "ASES_FRN_ORG_NM")
    private String asesFrnOrgNm;

    @ApiModelProperty("外部评估机构代码")
    @Length(max = 40, message = "外部评估机构代码长度最多40位")
    @Column(name = "ASES_FRN_ORG_CD")
    private String asesFrnOrgCd;

    @ApiModelProperty("外部评估方法")
    @Length(max = 20, message = "外部评估方法长度最多20位")
    @Column(name = "EXTL_EVAL_MTD_CD")
    private String extlEvalMtdCd;

    @ApiModelProperty("外部评估价值")
    @Digits(integer = 18, fraction = 2, message = "外部评估价值不能超过20位")
    @Column(name = "EXTL_EVAL_AMT")
    private BigDecimal extlEvalAmt;

    @ApiModelProperty("外部评估价值币种")
    @Length(max = 20, message = "外部评估价值币种长度最多20位")
    @Column(name = "EXTL_EVAL_CCY_CD")
    private String extlEvalCcyCd;

    @ApiModelProperty("外部评估日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Column(name = "EXTL_EVAL_DT")
    private Date extlEvalDt;

    @ApiModelProperty("内部评估方法")
    @Length(max = 20, message = "内部评估方法长度最多20位")
    @Column(name = "SYS_EVAL_MTD_CD")
    private String sysEvalMtdCd;

    @ApiModelProperty("内部评估价值")
    @Digits(integer = 18, fraction = 2, message = "内部评估价值不能超过20位")
    @Column(name = "SYS_EVAL_AMT")
    private BigDecimal sysEvalAmt;

    @ApiModelProperty("内部评估价值币种")
    @Length(max = 20, message = "内部评估价值币种长度最多20位")
    @Column(name = "SYS_EVAL_CCY_CD")
    private String sysEvalCcyCd;

    @ApiModelProperty("内部评估日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Column(name = "SYS_EVAL_DT")
    private Date sysEvalDt;

    @ApiModelProperty("最终认定押品价值")
    @Digits(integer = 18, fraction = 2, message = "最终认定押品价值不能超过20位")
    @Column(name = "CONF_AMT")
    private BigDecimal confAmt;

    @ApiModelProperty("最终认定押品价值币种")
    @Length(max = 20, message = "最终认定押品价值币种长度最多20位")
    @Column(name = "CONF_CCY_CD")
    private String confCcyCd;

    @ApiModelProperty("最终认定押品价值日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Column(name = "CONF_DT")
    private Date confDt;

    @ApiModelProperty("最终认定押品价值有效到期日")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Column(name = "CONF_MATURE_DT")
    private Date confMatureDt;

    @ApiModelProperty("预评估价值（元）")
    @Digits(integer = 18, fraction = 2, message = "预评估价值（元）不能超过20位")
    @Column(name = "PRE_EVAL_AMT")
    private BigDecimal preEvalAmt;

    @ApiModelProperty("价值认定理由")
    @Length(max = 65535, message = "价值认定理由长度最多65,535位")
    @Column(name = "AMT_CONF_REASON")
    private String amtConfReason;

    @ApiModelProperty("估值流程编号")
    @Length(max = 40, message = "估值流程编号长度最多40位")
    @Column(name = "EVAL_PROC_NO")
    private String evalProcNo;

    @ApiModelProperty("文档历史更新记录编号")
    @Length(max = 32, message = "文档历史更新记录编号长度最多32位")
    @Column(name = "DOCUMENT_UPDATE_HIS_ID")
    private String documentUpdateHisId;


    @ApiModelProperty("评估状态")
    @Length(max = 20, message = "评估状态长度最多20位")
    @Column(name = "ASES_STS_CD")
    private String asesStsCd;

    @ApiModelProperty("操作人机构")
    @Length(max = 40, message = "操作人机构长度最多40位")
    @Column(name = "OPR_ORG_NO")
    private String oprOrgNo;

    @ApiModelProperty("操作人")
    @Length(max = 40, message = "操作人长度最多40位")
    @Column(name = "OPR_NO")
    private String oprNo;

    @ApiModelProperty("重复抵押拆分前价值（元）")
    @Digits(integer = 18, fraction = 2, message = "重复抵押拆分前价值（元）不能超过20位")
    @Column(name = "REGUAR_ORI_AMT")
    private BigDecimal reguarOriAmt;

    @ApiModelProperty("评估报告编制水平")
    @Length(max = 20, message = "评估报告编制水平长度最多20位")
    @Column(name = "EVAL_REPORT_COMPILE_LVL")
    private String evalReportCompileLvl;

    @ApiModelProperty("评估时效性")
    @Length(max = 20, message = "评估时效性长度最多20位")
    @Column(name = "EVAL_TIMELINESS")
    private String evalTimeliness;

    @ApiModelProperty("是否存在特殊情况无需抽签")
    @Length(max = 20, message = "是否存在特殊情况无需抽签长度最多20位")
    @Column(name = "DROWLOTS_SPECIAL_CASE_FLG")
    private String drowlotsSpecialCaseFlg;

    @ApiModelProperty("评估收费是否合理")
    @Length(max = 20, message = "评估收费是否合理长度最多20位")
    @Column(name = "CHARGE_REASONABLE_FLG")
    private String chargeReasonableFlg;

    @ApiModelProperty("认定人")
    @Length(max = 20, message = "长度最多20位")
    @Column(name = "CONF_USER_NO")
    private String confUserNo;

    @ApiModelProperty("租户")
    @Column(name = "TENANT_ID_")
    private String tenantId;

    @ApiModelProperty("创建人ID")
    @Column(name = "CREATED_BY_ID_")
    private String createdById;

    @ApiModelProperty("创建人名称")
    @Length(max = 64, message = "创建人名称长度最多64位")
    @Column(name = "CREATED_BY_NAME_")
    private String createdByName;

    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "CREATED_TIME_")
    private Date createdTime;

    @ApiModelProperty("逻辑删除标记")
    @Length(max = 1, message = "逻辑删除标记长度最多1位")
    @Column(name = "DELFLAG_")
    private String delflag;

    @ApiModelProperty("显示序号")
    @Digits(integer = 10, fraction = 0, message = "显示序号不能超过10位")
    @Column(name = "DISPLAY_ORDER_")
    private Integer displayOrder;

    @ApiModelProperty("修改人ID")
    @Length(max = 64, message = "修改ID长度最多64位")
    @Column(name = "MODIFIED_BY_ID_")
    private String modifiedById;

    @ApiModelProperty("修改人名称")
    @Length(max = 64, message = "修改人名称长度最多64位")
    @Column(name = "MODIFIED_BY_NAME_")
    private String modifiedByName;

    @ApiModelProperty("修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "MODIFIED_TIME_")
    private Date modifiedTime;

    @ApiModelProperty("版本")
    @Digits(integer = 10, fraction = 0, message = "版本不能超过10位")
    @Column(name = "VERSION_")
    private Integer version;

    public String getValueinfoId(){
        return valueinfoId;
    }

    public void setValueinfoId(String valueinfoId){
        this.valueinfoId = valueinfoId;
    }
    public String getCltId(){
        return cltId;
    }

    public void setCltId(String cltId){
        this.cltId = cltId;
    }
    public String getCltNo(){
        return cltNo;
    }

    public void setCltNo(String cltNo){
        this.cltNo = cltNo;
    }
    public String getAsesFrnOrgNm(){
        return asesFrnOrgNm;
    }

    public void setAsesFrnOrgNm(String asesFrnOrgNm){
        this.asesFrnOrgNm = asesFrnOrgNm;
    }
    public String getAsesFrnOrgCd(){
        return asesFrnOrgCd;
    }

    public void setAsesFrnOrgCd(String asesFrnOrgCd){
        this.asesFrnOrgCd = asesFrnOrgCd;
    }
    public String getExtlEvalMtdCd(){
        return extlEvalMtdCd;
    }

    public void setExtlEvalMtdCd(String extlEvalMtdCd){
        this.extlEvalMtdCd = extlEvalMtdCd;
    }
    public BigDecimal getExtlEvalAmt(){
        return extlEvalAmt;
    }

    public void setExtlEvalAmt(BigDecimal extlEvalAmt){
        this.extlEvalAmt = extlEvalAmt;
    }
    public String getExtlEvalCcyCd(){
        return extlEvalCcyCd;
    }

    public void setExtlEvalCcyCd(String extlEvalCcyCd){
        this.extlEvalCcyCd = extlEvalCcyCd;
    }
    public Date getExtlEvalDt(){
        return extlEvalDt;
    }

    public void setExtlEvalDt(Date extlEvalDt){
        this.extlEvalDt = extlEvalDt;
    }
    public String getSysEvalMtdCd(){
        return sysEvalMtdCd;
    }

    public void setSysEvalMtdCd(String sysEvalMtdCd){
        this.sysEvalMtdCd = sysEvalMtdCd;
    }
    public BigDecimal getSysEvalAmt(){
        return sysEvalAmt;
    }

    public void setSysEvalAmt(BigDecimal sysEvalAmt){
        this.sysEvalAmt = sysEvalAmt;
    }
    public String getSysEvalCcyCd(){
        return sysEvalCcyCd;
    }

    public void setSysEvalCcyCd(String sysEvalCcyCd){
        this.sysEvalCcyCd = sysEvalCcyCd;
    }
    public Date getSysEvalDt(){
        return sysEvalDt;
    }

    public void setSysEvalDt(Date sysEvalDt){
        this.sysEvalDt = sysEvalDt;
    }
    public BigDecimal getConfAmt(){
        return confAmt;
    }

    public void setConfAmt(BigDecimal confAmt){
        this.confAmt = confAmt;
    }
    public String getConfCcyCd(){
        return confCcyCd;
    }

    public void setConfCcyCd(String confCcyCd){
        this.confCcyCd = confCcyCd;
    }
    public Date getConfDt(){
        return confDt;
    }

    public void setConfDt(Date confDt){
        this.confDt = confDt;
    }
    public Date getConfMatureDt(){
        return confMatureDt;
    }

    public void setConfMatureDt(Date confMatureDt){
        this.confMatureDt = confMatureDt;
    }
    public BigDecimal getPreEvalAmt(){
        return preEvalAmt;
    }

    public void setPreEvalAmt(BigDecimal preEvalAmt){
        this.preEvalAmt = preEvalAmt;
    }
    public String getAmtConfReason(){
        return amtConfReason;
    }

    public void setAmtConfReason(String amtConfReason){
        this.amtConfReason = amtConfReason;
    }
    public String getEvalProcNo(){
        return evalProcNo;
    }

    public void setEvalProcNo(String evalProcNo){
        this.evalProcNo = evalProcNo;
    }
    public String getDocumentUpdateHisId(){
        return documentUpdateHisId;
    }

    public void setDocumentUpdateHisId(String documentUpdateHisId){
        this.documentUpdateHisId = documentUpdateHisId;
    }
    public String getAsesStsCd(){
        return asesStsCd;
    }

    public void setAsesStsCd(String asesStsCd){
        this.asesStsCd = asesStsCd;
    }
    public String getOprOrgNo(){
        return oprOrgNo;
    }

    public void setOprOrgNo(String oprOrgNo){
        this.oprOrgNo = oprOrgNo;
    }
    public String getOprNo(){
        return oprNo;
    }

    public void setOprNo(String oprNo){
        this.oprNo = oprNo;
    }
    public BigDecimal getReguarOriAmt(){
        return reguarOriAmt;
    }

    public void setReguarOriAmt(BigDecimal reguarOriAmt){
        this.reguarOriAmt = reguarOriAmt;
    }
    public String getEvalReportCompileLvl(){
        return evalReportCompileLvl;
    }

    public void setEvalReportCompileLvl(String evalReportCompileLvl){
        this.evalReportCompileLvl = evalReportCompileLvl;
    }
    public String getEvalTimeliness(){
        return evalTimeliness;
    }

    public void setEvalTimeliness(String evalTimeliness){
        this.evalTimeliness = evalTimeliness;
    }
    public String getDrowlotsSpecialCaseFlg(){
        return drowlotsSpecialCaseFlg;
    }

    public void setDrowlotsSpecialCaseFlg(String drowlotsSpecialCaseFlg){
        this.drowlotsSpecialCaseFlg = drowlotsSpecialCaseFlg;
    }
    public String getChargeReasonableFlg(){
        return chargeReasonableFlg;
    }

    public void setChargeReasonableFlg(String chargeReasonableFlg){
        this.chargeReasonableFlg = chargeReasonableFlg;
    }
    public String getConfUserNo(){
        return confUserNo;
    }

    public void setConfUserNo(String confUserNo){
        this.confUserNo = confUserNo;
    }

    public String getTenantId() {
        return tenantId;
    }

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    public String getCreatedById() {
        return createdById;
    }

    public void setCreatedById(String createdById) {
        this.createdById = createdById;
    }

    public String getCreatedByName() {
        return createdByName;
    }

    public String getModifiedById() {
        return modifiedById;
    }

    public void setModifiedById(String modifiedById) {
        this.modifiedById = modifiedById;
    }

    public String getModifiedByName() {
        return modifiedByName;
    }

    public void setCreatedByName(String createdByName){
        this.createdByName = createdByName;
    }
    public Date getCreatedTime(){
        return createdTime;
    }

    public void setCreatedTime(Date createdTime){
        this.createdTime = createdTime;
    }
    public String getDelflag(){
        return delflag;
    }

    public void setDelflag(String delflag){
        this.delflag = delflag;
    }
    public Integer getDisplayOrder(){
        return displayOrder;
    }

    public void setDisplayOrder(Integer displayOrder){
        this.displayOrder = displayOrder;
    }

    public void setModifiedByName(String modifiedByName){
        this.modifiedByName = modifiedByName;
    }
    public Date getModifiedTime(){
        return modifiedTime;
    }

    public void setModifiedTime(Date modifiedTime){
        this.modifiedTime = modifiedTime;
    }
    public Integer getVersion(){
        return version;
    }

    public void setVersion(Integer version){
        this.version = version;
    }
}

